ফাইল পড়া এবং লেখা: fopen(), fclose(), fprintf(), fscanf()

ফাইল হ্যান্ডলিং (File Handling in C) - সি দিয়ে ডেটা স্ট্রাকচার (DSA using C) - Computer Programming

382

ফাইল পড়া এবং লেখা: fopen(), fclose(), fprintf(), fscanf()

সি প্রোগ্রামিং ভাষায় ফাইল পড়া এবং লেখা করার জন্য কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে যেমন fopen(), fclose(), fprintf(), এবং fscanf()। এই ফাংশনগুলোর মাধ্যমে আপনি ফাইল তৈরি করতে পারেন, ফাইলের মধ্যে ডেটা লেখতে পারেন, ফাইল থেকে ডেটা পড়তে পারেন এবং শেষে ফাইলটি বন্ধ করতে পারেন।


১. fopen()

fopen() ফাংশন ব্যবহার করে আপনি একটি ফাইল খুলতে পারেন। এটি ফাইলকে রিড (read), ওভাররাইট (write) অথবা অ্যাপেন্ড (append) মোডে খুলতে সহায়তা করে।

Sintax:

FILE *fopen(const char *filename, const char *mode);
  • filename: এটি সেই ফাইলের নাম যা আপনি খুলতে চান।
  • mode: ফাইলটি খোলার জন্য ব্যবহৃত মোড। এটি কিছু স্ট্রিং হতে পারে যেমন "r", "w", "a" ইত্যাদি।
    • "r": রিড মোড, যা শুধুমাত্র পড়ার জন্য ফাইল খোলে।
    • "w": রাইট মোড, যা লেখার জন্য ফাইল খোলে এবং পূর্বের কন্টেন্ট মুছে দেয়।
    • "a": অ্যাপেন্ড মোড, যা নতুন ডেটা লেখার জন্য ফাইল খোলে কিন্তু পূর্বের কন্টেন্ট রাখে।
    • "rb", "wb", "ab": বাইনারি মোডে ফাইল খুলতে ব্যবহৃত হয়।

উদাহরণ:

FILE *file = fopen("example.txt", "w");
if (file == NULL) {
    printf("File opening failed.\n");
    return 1;
}

২. fclose()

fclose() ফাংশন ফাইল বন্ধ করার জন্য ব্যবহৃত হয়। ফাইলটি বন্ধ করার পর আপনি আর সেই ফাইলে কাজ করতে পারবেন না।

Sintax:

int fclose(FILE *stream);
  • stream: এটি সেই ফাইল পয়েন্টার যা আপনি fopen() ফাংশন থেকে পেয়েছেন।

উদাহরণ:

fclose(file);

৩. fprintf()

fprintf() ফাংশন ফাইলের মধ্যে ডেটা লেখার জন্য ব্যবহৃত হয়। এটি printf() ফাংশনের মতো কাজ করে, কিন্তু আউটপুট স্ট্যান্ডার্ড আউটপুটে না গিয়ে ফাইলে লেখা হয়।

Sintax:

int fprintf(FILE *stream, const char *format, ...);
  • stream: এটি সেই ফাইল পয়েন্টার যা fopen() ফাংশন থেকে প্রাপ্ত হয়েছে।
  • format: এটি ফর্ম্যাট স্ট্রিং (যেমন: %d, %s) যা লেখার পদ্ধতি নির্ধারণ করে।

উদাহরণ:

FILE *file = fopen("example.txt", "w");
if (file != NULL) {
    fprintf(file, "Hello, World!\n");
    fprintf(file, "Number: %d\n", 100);
    fclose(file);
}

৪. fscanf()

fscanf() ফাংশন ফাইল থেকে ডেটা পড়ার জন্য ব্যবহৃত হয়। এটি scanf() এর মতো কাজ করে, কিন্তু স্ট্যান্ডার্ড ইনপুট থেকে না গিয়ে ফাইল থেকে ডেটা পড়ে।

Sintax:

int fscanf(FILE *stream, const char *format, ...);
  • stream: এটি সেই ফাইল পয়েন্টার যা fopen() ফাংশন থেকে প্রাপ্ত হয়েছে।
  • format: ফর্ম্যাট স্ট্রিং যা ডেটা পড়ার পদ্ধতি নির্ধারণ করে (যেমন: %d, %s)।

উদাহরণ:

FILE *file = fopen("example.txt", "r");
if (file != NULL) {
    int num;
    char str[100];
    
    fscanf(file, "%s", str);  // ফাইল থেকে একটি স্ট্রিং পড়ুন
    fscanf(file, "%d", &num); // ফাইল থেকে একটি সংখ্যা পড়ুন
    
    printf("String: %s, Number: %d\n", str, num);
    
    fclose(file);
}

ফাইল ওপেন মোড (File Open Modes)

ফাইল খুলতে ব্যবহৃত বিভিন্ন মোড:

  • "r": ফাইলটি পড়ার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে NULL ফেরত দেবে।
  • "w": ফাইলটি লেখার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে নতুন ফাইল তৈরি করবে। যদি ফাইলটি আগে থেকেই থাকে, তবে তার কন্টেন্ট মুছে ফেলবে।
  • "a": ফাইলটি অ্যাপেন্ড (যোগ) করার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে নতুন ফাইল তৈরি করবে।
  • "r+": ফাইলটি পড়া এবং লেখার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে NULL ফেরত দেবে।
  • "w+": ফাইলটি পড়া এবং লেখার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে নতুন ফাইল তৈরি করবে। যদি ফাইলটি আগে থেকেই থাকে, তবে তার কন্টেন্ট মুছে ফেলবে।
  • "a+": ফাইলটি পড়া এবং অ্যাপেন্ড করার জন্য খুলবে। যদি ফাইলটি না থাকে, তবে নতুন ফাইল তৈরি করবে।
  • "b": বাইনারি মোডে ফাইল খোলার জন্য ব্যবহৃত হয়, যেমন "rb", "wb"

ফাইলের মধ্যে ডেটা পড়া এবং লেখা উদাহরণ:

#include <stdio.h>

int main() {
    // লেখার জন্য ফাইল ওপেন
    FILE *file = fopen("sample.txt", "w");
    if (file == NULL) {
        printf("File opening failed.\n");
        return 1;
    }

    // ফাইলের মধ্যে কিছু লেখা
    fprintf(file, "This is a test file.\n");
    fprintf(file, "Here is a number: %d\n", 12345);

    // ফাইল বন্ধ করা
    fclose(file);

    // পড়ার জন্য ফাইল ওপেন
    file = fopen("sample.txt", "r");
    if (file == NULL) {
        printf("File opening failed.\n");
        return 1;
    }

    // ফাইল থেকে ডেটা পড়া
    char str[100];
    int num;
    fscanf(file, "%s", str);  // প্রথম শব্দ পড়া
    fscanf(file, "%d", &num); // সংখ্যা পড়া

    // পড়া ডেটা প্রদর্শন
    printf("String: %s\n", str);
    printf("Number: %d\n", num);

    // ফাইল বন্ধ করা
    fclose(file);

    return 0;
}

উদাহরণ ব্যাখ্যা:

  1. ফাইল লেখার প্রক্রিয়া:
    • fopen() দিয়ে ফাইলটি লেখার জন্য ওপেন করা হয়।
    • fprintf() দিয়ে ফাইলের মধ্যে ডেটা লেখা হয়।
    • শেষে fclose() দিয়ে ফাইলটি বন্ধ করা হয়।
  2. ফাইল পড়ার প্রক্রিয়া:
    • fopen() দিয়ে ফাইলটি পড়ার জন্য ওপেন করা হয়।
    • fscanf() দিয়ে ফাইল থেকে ডেটা পড়া হয়।
    • শেষে fclose() দিয়ে ফাইলটি বন্ধ করা হয়।

সারসংক্ষেপ

  • fopen() ফাইল ওপেন করতে ব্যবহৃত হয়।
  • fclose() ফাইল বন্ধ করার জন্য ব্যবহৃত হয়।
  • fprintf() ফাইলের মধ্যে ডেটা লেখার জন্য ব্যবহৃত হয়।
  • fscanf() ফাইল থেকে ডেটা পড়ার জন্য ব্যবহৃত হয়।

ফাইল পরিচালনায় এই ফাংশনগুলো আপনাকে বিভিন্ন ধরনের ফাইল অপারেশন সহজে করতে সাহায্য করবে, যেমন লেখার জন্য ফাইল তৈরি করা, তথ্য সংরক্ষণ করা, এবং পরবর্তীতে তা পড়া।

Content added By
Promotion

Are you sure to start over?

Loading...